package jmine.tec.test.utils.legacy.hibernate;

import java.util.List;

import org.hibernate.Session;

/**
 * @author takeshi
 * @param <E> o tipo de entidade
 */
public class DeleteEntities<E> implements SessionOperation {

    private final List<E> list;

    /**
     * Construtor
     * 
     * @param list a lista de entidades a ser apagada
     */
    public DeleteEntities(final List<E> list) {
        super();
        this.list = list;
    }

    /**
     * Apaga as entidades
     * 
     * @param session a sessao
     * @throws Exception caso ocorra uma excecao
     */
    public void doOperation(final Session session) throws Exception {
        for (E e : this.list) {
            session.delete(e);
        }
    }

}
